package com.teach.servlet;

import com.alibaba.fastjson.JSON;
import com.teach.R;
import com.teach.dto.AuthDto;
import com.teach.service.AdminService;
import com.teach.service.impl.AdminServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

/**
 * <pre>
 * -
 * Author : J.L.Zhou
 * E-Mail : 2233875735@qq.com
 * Tel : 151 1104 7708
 * Date : 2022-05-11 10:37
 * Version : 1.0
 * Copyright 2022 jlzhou.top Inc. All rights reserved.
 * Warning: this content is only for internal circulation of the company.
 *          It is forbidden to divulge it or use it for other commercial purposes.
 * </pre>
 **/
@WebServlet("/login.let")
public class LoginServlet extends HttpServlet {

  private AdminService adminService = new AdminServiceImpl();

  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    String name = req.getParameter("name");
    String pwd = req.getParameter("pwd");
    R<?> r = R.ok();
    try {
      AuthDto auth = adminService.login(name, pwd);
      HttpSession session = req.getSession();
//      String id = session.getId();//唯一标记 -> cookie[jsessionid]
      session.setAttribute("auth", auth);
    }catch (Exception ex){
      r = R.error().setMessage(ex.getMessage());
    }
    resp.setContentType("application/json;charset=utf-8");
    resp.getWriter().print(JSON.toJSONString(r));
    resp.flushBuffer();
  }
}
